package algorithm.easy;

import java.util.List;

public class Solution160 {
    //输入：intersectVal = 8, listA = [4,1,8,4,5], listB = [5,6,1,8,4,5], skipA = 2, sk
    //ipB = 3
    //输出：Intersected at '8'
    //解释：相交节点的值为 8 （注意，如果两个链表相交则不能为 0）。
    //从各自的表头开始算起，链表 A 为 [4,1,8,4,5]，链表 B 为 [5,6,1,8,4,5]。
    //在 A 中，相交节点前有 2 个节点；在 B 中，相交节点前有 3 个节点。
    public static  ListNode getIntersectionNode(ListNode headA, ListNode headB) {
        if(headA==null||headB==null){
            return null;
        }
        ListNode ha = headA;
        ListNode hb = headB;
        while(ha!=hb){
            ha = ha==null?headB:ha.next;
            hb = hb==null?headA:hb.next;
        }
        ha.print();
        return ha;
    }

    public static void main(String[] args){
        List<ListNode> listNode =  ListNode.init160();
        System.out.println(getIntersectionNode(listNode.get(0),listNode.get(1)));
    }

}
